package com.hxzy.common.easyexcel.conver;

import com.alibaba.excel.converters.Converter;
import com.alibaba.excel.converters.ReadConverterContext;
import com.alibaba.excel.converters.WriteConverterContext;
import com.alibaba.excel.enums.CellDataTypeEnum;
import com.alibaba.excel.metadata.data.WriteCellData;


/**
 * easyexcel自定义转换
 */
public class SexConver implements Converter<Byte> {

    /**
     * java类型
     * @return
     */
    @Override
    public Class<?> supportJavaTypeKey() {
        return  String.class;
    }

    /**
     * excel的类型
     * @return
     */
    @Override
    public CellDataTypeEnum supportExcelTypeKey() {
        return  CellDataTypeEnum.STRING;
    }

    /**
     * 把excel单元格的值转换成java对象  （读取excel列的时候需要调用它）
     * @param context
     * @return
     * @throws Exception
     */
    @Override
    public Byte convertToJavaData(ReadConverterContext<?> context) throws Exception {
        String  str=context.getReadCellData().getStringValue();
         return str.trim().equals("女") ? (byte)0  : (byte)1 ;
    }

    /**
     * 把java变量的转换成什么，写入到excel表中
     * @param context
     * @return
     * @throws Exception
     */
    @Override
    public WriteCellData<?> convertToExcelData(WriteConverterContext<Byte> context) throws Exception {
        int value = context.getValue().intValue();
        String str= value==0?"女":"男";
        return new WriteCellData<>(str);
    }
}
